/**
 * 
 */
package com.tosee.ws.model;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.collections.CollectionUtils;

import com.tosee.model.allocine.AlloEpisode;
import com.tosee.model.allocine.AlloSaison;

/**
 * @author robint
 */
public class WSSaison extends WSObject {

    /**
     * Code identifiant allocine
     */
    private Integer code;

    /**
     * Numero de saison
     */
    private Integer numero;

    /**
     * Nb Episodes
     */
    private Integer nbEpisode;

    /**
     * Annee début
     */
    private String anneeDebut;

    /**
     * Annee fin
     */
    private String anneeFin;

    /**
     * Liste Episode
     */
    private List<WSEpisode> listeEpisode;

    /**
     * Constructeur par défaut.
     */
    public WSSaison() {
        super();
    }

    /**
     * Constructeur copie
     * 
     * @param serie
     */
    public WSSaison(AlloSaison _saison) {
        if(_saison != null) {
            code = _saison.getCode();
            anneeDebut = _saison.getAnneeDebut();
            anneeFin = _saison.getAnneeFin();
            nbEpisode = _saison.getNbEpisode();
            numero = _saison.getNumero();
            List<AlloEpisode> listeEpisode = _saison.getListeEpisode();
            if(CollectionUtils.isNotEmpty(listeEpisode)) {
                this.listeEpisode = new ArrayList<WSEpisode>(listeEpisode.size());
                for(AlloEpisode epi : _saison.getListeEpisode()) {
                    this.listeEpisode.add(new WSEpisode(epi));
                }
            }
        }
    }

    /**
     * @return the code
     */
    public Integer getCode() {
        return code;
    }

    /**
     * @param code the code to set
     */
    public void setCode(Integer code) {
        this.code = code;
    }

    /**
     * @return the numero
     */
    public Integer getNumero() {
        return numero;
    }

    /**
     * @param numero the numero to set
     */
    public void setNumero(Integer numero) {
        this.numero = numero;
    }

    /**
     * @return the nbEpisode
     */
    public Integer getNbEpisode() {
        return nbEpisode;
    }

    /**
     * @param nbEpisode the nbEpisode to set
     */
    public void setNbEpisode(Integer nbEpisode) {
        this.nbEpisode = nbEpisode;
    }

    /**
     * @return the anneeDebut
     */
    public String getAnneeDebut() {
        return anneeDebut;
    }

    /**
     * @param anneeDebut the anneeDebut to set
     */
    public void setAnneeDebut(String anneeDebut) {
        this.anneeDebut = anneeDebut;
    }

    /**
     * @return the anneeFin
     */
    public String getAnneeFin() {
        return anneeFin;
    }

    /**
     * @param anneeFin the anneeFin to set
     */
    public void setAnneeFin(String anneeFin) {
        this.anneeFin = anneeFin;
    }

    /**
     * @return the listeEpisode
     */
    public List<WSEpisode> getListeEpisode() {
        return listeEpisode;
    }

    /**
     * @param listeEpisode the listeEpisode to set
     */
    public void setListeEpisode(List<WSEpisode> listeEpisode) {
        this.listeEpisode = listeEpisode;
    }

}
